package controlador;

import java.awt.Color;
import java.awt.GridBagLayout;
import java.util.Vector;
import javax.swing.JPanel;
import vista.BotonCircular;


public class ControladorSolucion {

	private JPanel panelSolucion;
	private BotonCircular buttonOpc[];
	private Vector<Color> vectorColores;
	
	public ControladorSolucion (ControladorJuego controlador){
		panelSolucion = controlador.getMasterm().getPanelSolucion();
	    vectorColores = new Vector<Color>();
		buttonOpc = new BotonCircular[6];
		GridBagLayout g = new GridBagLayout();
		panelSolucion.setLayout(g);
		
		CargarVectorCombinaciones(controlador.getNiveles().getCantBotones(), controlador.getNiveles().getCantColores());
		
		for(int i=0;i<controlador.getNiveles().getCantBotones();i++){
	    	buttonOpc[i] = new BotonCircular(" ", vectorColores.elementAt(i));
	    	buttonOpc[i].setSize(20, 20);
	    	buttonOpc[i].setModificable(false);
	    	panelSolucion.add(buttonOpc[i]);
	    }
		
	}
	
	public void CargarVectorCombinaciones(int cantBotones, int cantColores)
	{			
		for(int i = 0;i < cantBotones; i++){	
			switch((int) (Math.random()*100) % cantColores + 1){
				case 1: vectorColores.add(Color.blue); break;
				case 2: vectorColores.add(Color.gray); break;
				case 3: vectorColores.add(Color.yellow); break;
				case 4: vectorColores.add(Color.pink); break;
				case 5: vectorColores.add(Color.red); break;
				case 6: vectorColores.add(Color.green); break;
				case 7: vectorColores.add(Color.magenta); break;
				case 8: vectorColores.add(Color.orange); break;
			}			 
		}
	}
	
	public BotonCircular getButtonOpc(int i) {
		return buttonOpc[i];
	}

	public void setButtonOpc(BotonCircular[] buttonOpc) {
		this.buttonOpc = buttonOpc;
	}

	public JPanel getPanelSolucion() {
		return panelSolucion;
	}

	public void setPanelSolucion(JPanel panelSolucion) {
		this.panelSolucion = panelSolucion;
	}
	
	
	
}
